﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Общ)
	///</summary>
	[DataContract]
	public enum ВидыОперацийВозвратТоваровПоставщику
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"18abaa23-9bde-4c83-80d0-a61504253b42\", \"Представление\":\"ПокупкаКомиссия\"}")]
		ПокупкаКомиссия = 0,//покупка, комиссия
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"e83c2510-a153-4bec-b2c9-f27527397739\", \"Представление\":\"ИзПереработки\"}")]
		ИзПереработки = 1,//из переработки
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"18831585-4a4b-455b-80e1-0dc2924680ac\", \"Представление\":\"Оборудование\"}")]
		Оборудование = 2,
	}
	public static partial class ВидыОперацийВозвратТоваровПоставщику_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ПокупкаКомиссия = new Guid("15a6d080-2504-423b-4c83-9bde18abaa23");//покупка, комиссия
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ИзПереработки = new Guid("75f2c9b2-3927-3977-4bec-a153e83c2510");//из переработки
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid Оборудование = new Guid("c20de180-4692-ac80-455b-4a4b18831585");
		public static ВидыОперацийВозвратТоваровПоставщику Получить(this ВидыОперацийВозвратТоваровПоставщику Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыОперацийВозвратТоваровПоставщику Получить(this ВидыОперацийВозвратТоваровПоставщику Значение, Guid Ссылка)
		{
			if(Ссылка == ПокупкаКомиссия)
			{
				return ВидыОперацийВозвратТоваровПоставщику.ПокупкаКомиссия;
			}
			else if(Ссылка == ИзПереработки)
			{
				return ВидыОперацийВозвратТоваровПоставщику.ИзПереработки;
			}
			else if(Ссылка == Оборудование)
			{
				return ВидыОперацийВозвратТоваровПоставщику.Оборудование;
			}
			return ВидыОперацийВозвратТоваровПоставщику.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыОперацийВозвратТоваровПоставщику Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыОперацийВозвратТоваровПоставщику Значение)
		{
			switch (Значение)
			{
				case ВидыОперацийВозвратТоваровПоставщику.ПокупкаКомиссия: return ПокупкаКомиссия;
				case ВидыОперацийВозвратТоваровПоставщику.ИзПереработки: return ИзПереработки;
				case ВидыОперацийВозвратТоваровПоставщику.Оборудование: return Оборудование;
			}
			return Guid.Empty;
		}
	}
}